쉘에서 명령어를 수행할 때, 한줄에 최대 255 글자를 입력할 수 있다.
매번 커맨드라인에 명령을 입력하는 대신, 명령어들을 텍스트 파일에 넣어두고 이를 실행할 수 있다.
Shell Script File
첫 째 줄의 #은 주석으로 처리하지 않는다(#다음 !이 오면 어떤 쉘을 사용할 지 주소를 지정해 준다고 가정함)
Variables
variable="I am Variable"
echo "$variable"
echo "\$variable"
echo "${variable}"
I am Variable
$variable
I am Variable
변수의 값 할당은 ' = '을 사용하며,
변수, 등호, 값 사이에는 빈 칸을 둘 수 없음
쉘 스크립트에서는 명령의 결과(출력)을 변수에 할당할 수 있는 기능을 제공한다.
- 역 따옴표( ` )
- $( ) 형식
today=$(date +%y%m%d)
ls /usr/bin -al > log.$today
명령의 결과를 받기 위한 명령 치환 과정은 서브쉘을 이용한다.
스크립트 종료종료 상태
쉘에서 실행되는 모든 명령은 쉘 처리가 끝났음을 알려주는 종료 상태(exit status)를 사용한다.
종료 상태는 명령 실행이 완료되면 0에서 255 사이의 정수 값을 명령으로부터 쉘로 전달한다.
$?변수에 종료 상태값을 보관한다.
$?
0: 성공적으로 완료
1: 알 수 없는 오류
2: 쉘 명령을 잘못 사용함
126: 실행할 수 없음(권한이 없음)
127: 명령을 찾을 수 없음
128: 잘못된 매개변수
128+x: 치명적인 오류(리눅스 신호 x를 포함)
130: <Ctrl>+C를 이용해 명령이 종료됨
255: 범위를 벗어난 종료 상태
exit
exit state는 0-255 범위의 정수이어야 한다.
만일 범위를 벗어나는 경우 256으로 나누었을 때의 나머지를 오류 상태로 리턴